Im Rahmen einer forEach Schleife bekommt man Zugriff auf einzelne Elemente eines Sichtenbaums.
Für die einzelnen Knoten kann FreeMarker wiederum mittels Java-Reflection auf bestimmte Methoden zugreifen.
id, name ? Zugriff auf den Schlüssel und den Namen des Knotens
Insert into tmp_erg (fikr , betrag )
SELECT "${eineKostenart.id}" || " " || "${eineKostenart.name}", sum(betrag)
FROM tmp_busa
?
subkeys ? liefert eine Liste mit dem Schlüssel des aktuellen Knotens (z.B. Personalkosten '1') und aller seiner Unterknoten (z.B. '11','12') (auch von versteckten Knoten!)
Insert into tmp_erg (fikr , betrag )
SELECT "${eineKostenart.id}" || " " || "${eineKostenart.name}", sum(betrag)
FROM tmp_busa
where fikrkey in <@printkeys eineKostenart.subkeys}
group by 1 ;
Bei Kostenstellen-Sichten werden nur die erlaubten Knoten ausgegeben,
z.B.
root-Hochschule (Auswahl)
fak-Fakultäten (Auswahl)
1-fak1 (Auswahl)
11-Institut 1
13 ? Institut 3
wenn nichts ausgewählt wurde, root, fak, oder fak1 wird trotzdem nur 11,13 als subkeys ausgegeben, weil nur die selbst erlaubt sind. -> bei foreach (Methode elements ist es anders root, fak, fak1 werden auch mit durchlaufen, weil (Teil)summenzeilen interessant sein können
strukturInt,strukturStr - beschreibt Art oder Struktur des Knotens
Beispiel: orgstruktur im Organigramm beschreibt, ob ein Knoten eine Lehreinheit oder ein Fachbereich ist (20 bzw. 30)
Diese Strukturinformation ist im Knoten hinterlegt, sofern beim Einlesen der Sicht an Postition 4 und/oder 5 etwas angegeben wurde
(z.B. select name,key_apnr,parent,orgstruktur from organigramm).
Sie kann z.B. für if-Abfragen zur Aggregierung benutzt werden.
<#foreach eineInstitution in Institutionen>
<#if Aggregierung="stark" and eineInstitution.strukturInt=30>
...
<#else>
..
</#if>
</#foreach>
nodeattrib ? ein Knotenattribut
wenn null oder 0: Knoten ganz normal, 1 versteckt, 2 nicht selektierbar im Baum
![]() |
![]() ![]() |
Seite 35 / 102 Letzter Update: 17.06.2008 Impressum |